package com.blackandwhitesensation.sice.modelo;
// Generated 14-jul-2012 17:16:34 by Zathura powered by Hibernate Tools 3.2.4.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Usuario generated by Zathura powered by Hibernate-tools(hbm2java)
 */

@Entity
@Table(name="usuario"
    ,schema="public"
)
public class Usuario  implements java.io.Serializable {


     private String alias;
     private TipoUsuario tipoUsuario;
     private TipoDocumento tipoDocumento;
     private String nombre;
     private String apellido;
     private String sexo;
     private Long edad;
     private String lugarNacimiento;
     private Date fechaNacimiento;
     private String estadoCivil;
     private String ciudadResidencia;
     private String direccionResidencia;
     private String telefonoResidencia;
     private String telefonoOficina;
     private String celular;
     private String pin;
     private String correoElectronico;
     private String nivelEducativo;
     private String profesion;
     private String empresaTrabaja;
     private String direccionTrabaja;
     private String conocimientoMembresia;
     private String musicaPreferida;
     private String deportePreferido;
     private String paginasWebVisitadas;
     private String artistasVerEnvivo;
     private String revistasLee;
     private String numeroDocumento;
     private String mayorEdad;
     private String ciudad;
     private Set<Membresia> membresias = new HashSet<Membresia>(0);

    public Usuario() {
    }

	
    public Usuario(String alias, TipoUsuario tipoUsuario, TipoDocumento tipoDocumento) {
        this.alias = alias;
        this.tipoUsuario = tipoUsuario;
        this.tipoDocumento = tipoDocumento;
    }
    public Usuario(String alias, TipoUsuario tipoUsuario, TipoDocumento tipoDocumento, String nombre, String apellido, String sexo, Long edad, String lugarNacimiento, Date fechaNacimiento, String estadoCivil, String ciudadResidencia, String direccionResidencia, String telefonoResidencia, String telefonoOficina, String celular, String pin, String correoElectronico, String nivelEducativo, String profesion, String empresaTrabaja, String direccionTrabaja, String conocimientoMembresia, String musicaPreferida, String deportePreferido, String paginasWebVisitadas, String artistasVerEnvivo, String revistasLee, Set<Membresia> membresias) {
       this.alias = alias;
       this.tipoUsuario = tipoUsuario;
       this.tipoDocumento = tipoDocumento;
       this.nombre = nombre;
       this.apellido = apellido;
       this.sexo = sexo;
       this.edad = edad;
       this.lugarNacimiento = lugarNacimiento;
       this.fechaNacimiento = fechaNacimiento;
       this.estadoCivil = estadoCivil;
       this.ciudadResidencia = ciudadResidencia;
       this.direccionResidencia = direccionResidencia;
       this.telefonoResidencia = telefonoResidencia;
       this.telefonoOficina = telefonoOficina;
       this.celular = celular;
       this.pin = pin;
       this.correoElectronico = correoElectronico;
       this.nivelEducativo = nivelEducativo;
       this.profesion = profesion;
       this.empresaTrabaja = empresaTrabaja;
       this.direccionTrabaja = direccionTrabaja;
       this.conocimientoMembresia = conocimientoMembresia;
       this.musicaPreferida = musicaPreferida;
       this.deportePreferido = deportePreferido;
       this.paginasWebVisitadas = paginasWebVisitadas;
       this.artistasVerEnvivo = artistasVerEnvivo;
       this.revistasLee = revistasLee;
       this.membresias = membresias;
    }
   
     @Id 

    
    @Column(name="alias", unique=true, nullable=false, length=200)
    public String getAlias() {
        return this.alias;
    }
    
    public void setAlias(String alias) {
        this.alias = alias;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_tipo_usuario", nullable=false)
    public TipoUsuario getTipoUsuario() {
        return this.tipoUsuario;
    }
    
    public void setTipoUsuario(TipoUsuario tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_tipo_doc", nullable=false)
    public TipoDocumento getTipoDocumento() {
        return this.tipoDocumento;
    }
    
    public void setTipoDocumento(TipoDocumento tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }

    
    @Column(name="nombre", length=400)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    
    @Column(name="apellido", length=400)
    public String getApellido() {
        return this.apellido;
    }
    
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    
    @Column(name="sexo", length=1)
    public String getSexo() {
        return this.sexo;
    }
    
    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    
    @Column(name="edad", precision=131089, scale=0)
    public Long getEdad() {
        return this.edad;
    }
    
    public void setEdad(Long edad) {
        this.edad = edad;
    }

    
    @Column(name="lugar_nacimiento", length=200)
    public String getLugarNacimiento() {
        return this.lugarNacimiento;
    }
    
    public void setLugarNacimiento(String lugarNacimiento) {
        this.lugarNacimiento = lugarNacimiento;
    }

    
    @Column(name="fecha_nacimiento", length=13)
    public Date getFechaNacimiento() {
        return this.fechaNacimiento;
    }
    
    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    
    @Column(name="estado_civil", length=200)
    public String getEstadoCivil() {
        return this.estadoCivil;
    }
    
    public void setEstadoCivil(String estadoCivil) {
        this.estadoCivil = estadoCivil;
    }

    
    @Column(name="ciudad_residencia", length=400)
    public String getCiudadResidencia() {
        return this.ciudadResidencia;
    }
    
    public void setCiudadResidencia(String ciudadResidencia) {
        this.ciudadResidencia = ciudadResidencia;
    }

    
    @Column(name="direccion_residencia", length=400)
    public String getDireccionResidencia() {
        return this.direccionResidencia;
    }
    
    public void setDireccionResidencia(String direccionResidencia) {
        this.direccionResidencia = direccionResidencia;
    }

    
    @Column(name="telefono_residencia", length=200)
    public String getTelefonoResidencia() {
        return this.telefonoResidencia;
    }
    
    public void setTelefonoResidencia(String telefonoResidencia) {
        this.telefonoResidencia = telefonoResidencia;
    }

    
    @Column(name="telefono_oficina", length=200)
    public String getTelefonoOficina() {
        return this.telefonoOficina;
    }
    
    public void setTelefonoOficina(String telefonoOficina) {
        this.telefonoOficina = telefonoOficina;
    }

    
    @Column(name="celular", length=200)
    public String getCelular() {
        return this.celular;
    }
    
    public void setCelular(String celular) {
        this.celular = celular;
    }

    
    @Column(name="pin", length=100)
    public String getPin() {
        return this.pin;
    }
    
    public void setPin(String pin) {
        this.pin = pin;
    }

    
    @Column(name="correo_electronico", length=200)
    public String getCorreoElectronico() {
        return this.correoElectronico;
    }
    
    public void setCorreoElectronico(String correoElectronico) {
        this.correoElectronico = correoElectronico;
    }

    
    @Column(name="nivel_educativo", length=200)
    public String getNivelEducativo() {
        return this.nivelEducativo;
    }
    
    public void setNivelEducativo(String nivelEducativo) {
        this.nivelEducativo = nivelEducativo;
    }

    
    @Column(name="profesion", length=200)
    public String getProfesion() {
        return this.profesion;
    }
    
    public void setProfesion(String profesion) {
        this.profesion = profesion;
    }

    
    @Column(name="empresa_trabaja", length=200)
    public String getEmpresaTrabaja() {
        return this.empresaTrabaja;
    }
    
    public void setEmpresaTrabaja(String empresaTrabaja) {
        this.empresaTrabaja = empresaTrabaja;
    }

    
    @Column(name="direccion_trabaja", length=200)
    public String getDireccionTrabaja() {
        return this.direccionTrabaja;
    }
    
    public void setDireccionTrabaja(String direccionTrabaja) {
        this.direccionTrabaja = direccionTrabaja;
    }

    
    @Column(name="conocimiento_membresia", length=400)
    public String getConocimientoMembresia() {
        return this.conocimientoMembresia;
    }
    
    public void setConocimientoMembresia(String conocimientoMembresia) {
        this.conocimientoMembresia = conocimientoMembresia;
    }

    
    @Column(name="musica_preferida", length=400)
    public String getMusicaPreferida() {
        return this.musicaPreferida;
    }
    
    public void setMusicaPreferida(String musicaPreferida) {
        this.musicaPreferida = musicaPreferida;
    }

    
    @Column(name="deporte_preferido", length=400)
    public String getDeportePreferido() {
        return this.deportePreferido;
    }
    
    public void setDeportePreferido(String deportePreferido) {
        this.deportePreferido = deportePreferido;
    }

    
    @Column(name="paginas_web_visitadas", length=400)
    public String getPaginasWebVisitadas() {
        return this.paginasWebVisitadas;
    }
    
    public void setPaginasWebVisitadas(String paginasWebVisitadas) {
        this.paginasWebVisitadas = paginasWebVisitadas;
    }

    
    @Column(name="artistas_ver_envivo", length=400)
    public String getArtistasVerEnvivo() {
        return this.artistasVerEnvivo;
    }
    
    public void setArtistasVerEnvivo(String artistasVerEnvivo) {
        this.artistasVerEnvivo = artistasVerEnvivo;
    }

    
    @Column(name="revistas_lee", length=400)
    public String getRevistasLee() {
        return this.revistasLee;
    }
    
    public void setRevistasLee(String revistasLee) {
        this.revistasLee = revistasLee;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="usuario")
    public Set<Membresia> getMembresias() {
        return this.membresias;
    }
    
    public void setMembresias(Set<Membresia> membresias) {
        this.membresias = membresias;
    }

    @Column(name="numero_documento", length=20)
	public String getNumeroDocumento() {
		return numeroDocumento;
	}


	public void setNumeroDocumento(String numeroDocumento) {
		this.numeroDocumento = numeroDocumento;
	}

	@Column(name="mayor_edad", length=2)
	public String getMayorEdad() {
		return mayorEdad;
	}


	public void setMayorEdad(String mayorEdad) {
		this.mayorEdad = mayorEdad;
	}

	@Column(name="ciudad", length=400)
	public String getCiudad() {
		return ciudad;
	}


	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}




}


